package com.sevenday.threadlimit;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.Semaphore;

/**
 * @类名: SemaphoreLimit
 * @描述: 信号量限流[控制并发数量 ]
 * @作者: zfh;
 * @邮箱：806970740@qq.com
 * @时间: 2017年9月2日 下午11:23:02
 */
public class SemaphoreLimit {

    private static final Logger LOGGER = LoggerFactory.getLogger(SemaphoreLimit.class);

    private Semaphore semaphore = new Semaphore(10, false);

    public void process() {

        try {
            //获取信号量
            semaphore.tryAcquire();
        } catch (Exception e) {


            LOGGER.error("获取信号量错误");
        } finally {
            //释放信号量
            semaphore.release();

        }


    }
}
